package renpyas3.view.instructions
{
	import org.osflash.thunderbolt.Logger;
	import renpyas3.model.RenpyPlayerModel;
	import renpyas3.view.RenpyPlayer;
	
	/**
	 * base class for parsed instructions (commands)
	 * that change the player view
	 */
	public class ViewInstruction
	{
		
		public function ViewInstruction() 
		{
			
		}
		
		/**
		 * execute a the code for this command, altering RenpyPlayerViewState
		 * @param	view  is the whole set of view state variables and operations that make up the VIEW
		 * @param	model the data needed to play a renpy novel
		 * @param	params   extra data for some instructions
		 */
		public function execute(view:RenpyPlayer, model:RenpyPlayerModel, params:Object=null):void
		{
			Logger.info("ViewInstruction::execute --implement in subclass");
		}		
		
		/**
		 * finish immediately, FastForward actions
		 */
		public function abort():void
		{
			Logger.info("ViewInstruction::abort --implement in subclass");
		}
	}

}